@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
	padding: $padding-y $padding-x;
	border-radius: $border-radius;
	font-size: $font-size;
}

@mixin button-style(
	$background,
	$border,
	$color,
	$hover-background: lighten($background, 7.5%),
	$hover-border: lighten($border, 10%),
	$hover-color: $color
) {
	border-color: $border;
	background: $background;
	color: $color;

	&:hover {
		border-color: $hover-border;
		background: $hover-background;
		color: $hover-color;
	}

	&:focus,
	&.focus {
		border-color: $hover-border;
		background: $hover-background;
		color: $hover-color;
	}

	&:disabled,
	&.disabled {
		border-color: $border;
		background: $background;
		color: $color;
	}
}

@mixin zoom-animation(
	$direction: 'top',
	$scaleStart: scaleY(0),
	$scaleEnd: scaleY(1),
	$origin: center top
) {
	.zoom-in-#{$direction}-enter {
		opacity: 0;
		transform: $scaleStart;
	}

	.zoom-in-#{$direction}-enter-active {
		opacity: 1;
		transform: $scaleEnd;
		transform-origin: $origin;
		transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms,
			opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
	}

	.zoom-in-#{$direction}-exit {
		opacity: 1;
	}

	.zoom-in-#{$direction}-exit-active {
		opacity: 0;
		transform: $scaleStart;
		transform-origin: $origin;
		transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms,
			opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms;
	}
}

@mixin border-left-radius($raduis) {
	border-top-left-radius: $raduis;
	border-bottom-left-radius: $raduis;
}

@mixin border-right-radius($raduis) {
	border-top-right-radius: $raduis;
	border-bottom-right-radius: $raduis;
}
